package DTO;

import java.awt.Image;
import java.io.File;
import java.util.Arrays;

import javax.swing.ImageIcon;

import CORE.GenericDTODescricao;

public class ObraDTO extends GenericDTODescricao {

	private String titulo;
	private String editora;
	private int paginas;	
	private Integer edicao;
	private Integer ano;
	private byte[] capa;
	private ObraDTO obra;	
	
	public String getTitulo() {
		return titulo;
	}
	
	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}
	
	public String getEditora() {
		return editora;
	}
	
	public void setEditora(String editora) {
		this.editora = editora;
	}
	
	public int getPaginas() {
		return paginas;
	}
	
	public void setPaginas(int quantidadePaginas) {
		this.paginas = quantidadePaginas;
	}
	
	public Integer getEdicao() {
		return edicao;
	}
	
	public void setEdicao(Integer edicao) {
		this.edicao = edicao;
	}
	
	public Integer getAno() {
		return ano;
	}
	
	public void setAno(Integer ano) {
		this.ano = ano;
	}
	
	public byte[] getCapa() {
		return capa;
	}
	
	public void setCapa(byte[] capa) {
		if(capa != null) {
			this.capa = capa;
		}
	}
	
	public ObraDTO getObra() {
		return obra;
	}
	
	public void setObra(ObraDTO obra) {
		this.obra = obra;
	}
	 
	public Image getImagem() {
		return new ImageIcon(capa).getImage();
	}
	
	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append(super.toString());
		builder.append("ObraDTO [titulo=");
		builder.append(titulo);
		builder.append(", editora=");
		builder.append(editora);
		builder.append(", paginas=");
		builder.append(paginas);
		builder.append(", edicao=");
		builder.append(edicao);
		builder.append(", ano=");
		builder.append(ano);
		builder.append(", capa=");
		builder.append(capa);
		builder.append(capa);
		builder.append(", obra=");
		builder.append(obra != null ? obra.toString() : null);
		builder.append("]");
		return builder.toString();
	}
}